package cn.wolfcode.crm.mapper;

import cn.wolfcode.crm.domain.Client;
import cn.wolfcode.crm.query.ClientQueryObject;
import cn.wolfcode.crm.query.QueryObject;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ClientMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Client record);

    Client selectByPrimaryKey(Long id);

    List<Client> selectAll();

    int updateByPrimaryKey(Client record);

    List<Client> list(QueryObject qo);

    void changeStatus(@Param("status") long status, @Param("cId") Long cId);

    void updateInChargeUserByPrimaryKey(@Param("inChargeUserId") Long inChargeUserId, @Param("id") Long id);

    int query4Count(ClientQueryObject qo);

    List<Client> query4List(ClientQueryObject qo);

    void updateForwardTimeById(Client client);

    void updateInChargeUserToNull(Long id);
}